/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Control;

import DAO.ProductoDAO;
import Entidad.Producto;
import java.util.List;

/**
 *
 * @author Stiv
 */
public class CrudProducto {
    
        private static ProductoDAO dao = new ProductoDAO();
    
    
        public static boolean estaEnSistema(String nombre){
        Producto proControl = dao.leer(nombre);

        try{
        if(proControl.getNombre().equals(nombre))
             return true;
        }catch(Exception e) {
            return false;
        }
        return false;
    }
        
        public static boolean crearProducto(String nombre, int valor, String garantia){
        
            if (!estaEnSistema(nombre)){
                Producto nuevo = new Producto(nombre,valor,garantia);
                dao.crear(nuevo);
            return true;
            }
            return false;
        }
        
        // Metodo Crear Producto
        public static boolean CrearProducto(String nombre,int valor, String garantia){
            Producto temp = new Producto(nombre, valor, garantia);
            if(dao.bringAll().isEmpty()){
                dao.crear(temp);
                return true;}
            if(dao.leerNombre(temp)!= null)
            {
                return false;
            }
            if(nombre==null || nombre.equals("")) return false;
            dao.crear(temp);
            return true;
        }
        
        public static Producto consultarProducto(String nombre){
            return dao.leer(nombre);
        }
        
        public static Producto ConsultarProducto(String nombre){
            return dao.leer(nombre);
        }
        
        public static boolean modificarProducto(Producto producto, String nombre, int valor, String garantia){
        
        Producto control = dao.leer(nombre);
        try{
        if(!control.getNombre().equals(producto.getNombre()))
             return false;
        }catch(Exception e) {
            
        }
        
        Producto nuevo = producto;
	nuevo.setNombre(nombre);
	nuevo.setValor(valor);
	nuevo.setGarantia(garantia);
        dao.actualizar(producto,nuevo);
        if(!nuevo.getNombre().equals(producto.getNombre())){
                dao.eliminar(producto);
            }
        return true;
        }
        
        public static boolean eliminarProducto(Producto producto){
            return dao.eliminar(producto);
        
        }
        
        public static List<Producto> bringAll(){
        return dao.bringAll();
    }
    
}
